/*
 * > /*
>  * INSANE - Interactive Structural Analysis Environment
>  *
>  * Copyright (C) 2003-2004
>  * Universidade Federal de Minas Gerais
>  * Escola de Engenharia
>  * Departamento de Engenharia de Estruturas
>  *
>  * Author's email :     insane@dees.ufmg.br
>  * Author's Website :   http://www.dees.ufmg.br/insane
>  *
>  * This program is free software; you can redistribute it and/or
>  * modify it under the terms of the GNU General Public License
>  * as published by the Free Software Foundation; either version 2
>  * of the License, or any later version.
>  *
>  * This program is distributed in the hope that it will be useful,
>  * but WITHOUT ANY WARRANTY; without even the implied warranty of
>  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>  * GNU General Public License for more details.
>  *
>  * You should have received a copy of the GNU General Public License
>  * along with this program; if not, write to the Free Software
>  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-
> 1307, USA.
 *
 */

package br.ufmg.dees.insane.ui.rich.postp.postp_view;

import java.awt.Color;
import java.io.Serializable;

import br.ufmg.dees.insane.commons.view.ViewState;
import br.ufmg.dees.insane.model.geo.geometricTransformations.projections.Axonometric;
import br.ufmg.dees.insane.model.geo.geometricTransformations.projections.Projection;

/**
 * A class representing the state of the model.
 * @author Penna, Samuel & Pitangueira, Roque
 * @see postp.DesktopPostp
 * @see postp.DrawingArea
 * @since april 2005
 */
public class PostpViewState extends ViewState implements Serializable {
    
	/**
	 * Comment for <code>serialVersionUID</code>
	 */
	private static final long serialVersionUID = 1L;
	
	private MeshStateViewState meshStateViewState = new MeshStateViewState();
	private GeoTransformViewState GeoTransformViewState = new GeoTransformViewState();
	private LoadViewState loadViewState = new LoadViewState();
	private VertexViewState vertexViewState = new VertexViewState();
    private GaussVertexViewState gaussVertexViewState = new GaussVertexViewState();
	private EdgeViewState edgeViewState = new EdgeViewState();
	private FaceViewState FaceViewState = new FaceViewState();
	private StepViewState stepState = new StepViewState();
	private SelectionViewState selectionViewState = new SelectionViewState();
	private ElementsPlotContoursViewState elementsPlotContoursViewState = new ElementsPlotContoursViewState();
    private NodalsPlotContoursViewState nodalsPlotContoursViewState = new NodalsPlotContoursViewState();
    private ScaleColorsViewState scaleColorsViewState = new ScaleColorsViewState();
    private int fracDigits = 6;
	private boolean isModelExist = false;
	private boolean isDeformedOn = false;
	private boolean isGlobalAxisOn = true;
	
	private Projection projection = new Axonometric(-30,30);
	
    /**
     * The class constructor 
     */
    public PostpViewState() {   
        super.bgcolor = Color.BLACK;
        super.gridColor = Color.GRAY;
        super.setGridIncrements(0.5,0.5);
        super.setSnap(true);
        super.setGrid(true);
    }
	
	/**
	 * The method return the edgeViewState.
	 * @return Returns The edgeViewState.
	 */
	public EdgeViewState getEdgeViewState() {
		return edgeViewState;
	}

	/**
	 * The method set the field edgeViewState from the parameter edgeViewState.
	 * @param edgeViewState The edgeViewState to set.
	 */
	public void setEdgeViewState(EdgeViewState edgeViewState) {
		this.edgeViewState = edgeViewState;
	}

	/**
	 * The method return the faceViewState.
	 * @return Returns The faceViewState.
	 */
	public FaceViewState getFaceViewState() {
		return FaceViewState;
	}

	/**
	 * The method set the field FaceViewState from the parameter faceViewState.
	 * @param faceViewState The faceViewState to set.
	 */
	public void setFaceViewState(FaceViewState faceViewState) {
		FaceViewState = faceViewState;
	}

	/**
	 * The method return the meshStateViewState.
	 * @return Returns The meshStateViewState.
	 */
	public MeshStateViewState getMeshStateViewState() {
		return meshStateViewState;
	}

	/**
	 * The method set the field meshStateViewState from the parameter meshStateViewState.
	 * @param meshStateViewState The meshStateViewState to set.
	 */
	public void setMeshStateViewState(MeshStateViewState meshStateViewState) {
		this.meshStateViewState = meshStateViewState;
	}

	/**
	 * The method return the vertexViewState.
	 * @return Returns The vertexViewState.
	 */
	public VertexViewState getVertexViewState() {
		return vertexViewState;
	}

	/**
	 * The method set the field vertexViewState from the parameter vertexViewState.
	 * @param vertexViewState The vertexViewState to set.
	 */
	public void setVertexViewState(VertexViewState vertexViewState) {
		this.vertexViewState = vertexViewState;
	}

	/**
	 * The method return the stepState.
	 * @return Returns The stepState.
	 */
	public StepViewState getStepState() {
		return stepState;
	}

	/**
	 * The method set the field stepState from the parameter stepState.
	 * @param stepState The stepState to set.
	 */
	public void setStepState(StepViewState stepState) {
		this.stepState = stepState;
	}

	public LoadViewState getLoadViewState() {
		return loadViewState;
	}

	public void setLoadViewState(LoadViewState loadViewState) {
		this.loadViewState = loadViewState;
	}

	public boolean isDeformedOn() {
		return isDeformedOn;
	}

	public void setDeformedOn(boolean isDeformedOn) {
		this.isDeformedOn = isDeformedOn;
	}

	public boolean isModelExist() {
		return isModelExist;
	}

	public void setModelExist(boolean isModelExist) {
		this.isModelExist = isModelExist;
	}
	
	public Projection getProjection() {
		return projection;
	}

	public void setProjection(Projection projection) {
		this.projection = projection;
	}

	public GeoTransformViewState getGeoTransformViewState() {
		return GeoTransformViewState;
	}

	public void setGeoTransformViewState(GeoTransformViewState geoTransformViewState) {
		GeoTransformViewState = geoTransformViewState;
	}

    public GaussVertexViewState getGaussVertexViewState() {
        return gaussVertexViewState;
    }

    public void setGaussVertexViewState(GaussVertexViewState gaussVertexViewState) {
        this.gaussVertexViewState = gaussVertexViewState;
    }

	public SelectionViewState getSelectionViewState() {
		return selectionViewState;
	}

	public void setSelectionViewState(SelectionViewState selectionViewState) {
		this.selectionViewState = selectionViewState;
	}

	public void setElementsPlotContoursViewState(ElementsPlotContoursViewState elementsPlotContoursViewState) {
		this.elementsPlotContoursViewState = elementsPlotContoursViewState;
	}

    public NodalsPlotContoursViewState getNodalsPlotContoursViewState() {
        return nodalsPlotContoursViewState;
    }

    public void setNodalsPlotContoursViewState(
            NodalsPlotContoursViewState nodalsPlotContoursViewState) {
        this.nodalsPlotContoursViewState = nodalsPlotContoursViewState;
    }

    public int getFracDigits() {
        return fracDigits;
    }

    public void setFracDigits(int fracDigits) {
        this.fracDigits = fracDigits;
    }

	public ScaleColorsViewState getScaleColorsViewState() {
		return scaleColorsViewState;
	}

	public void setScaleColorsViewState(ScaleColorsViewState scaleColorsViewState) {
		this.scaleColorsViewState = scaleColorsViewState;
	}

	public ElementsPlotContoursViewState getElementsPlotContoursViewState() {
		return elementsPlotContoursViewState;
	}

	public boolean isGlobalAxisOn() {
		return isGlobalAxisOn;
	}

	public void setGlobalAxisOn(boolean isGlobalAxisOn) {
		this.isGlobalAxisOn = isGlobalAxisOn;
	}
    
//*****************************************************************************************  
}